#include <utility>
#include <string>

class Collision {

	public:
		/**
		 * returns string s, such that hash(text1)==hash(text2+s)
		 */
		static std::string crackSignatureSerial(const std::string &text1, const std::string &text2, int hashlen);

		/**
		 * returns strings (s1, s2), such that hash(text1+s1)==hash(text2+s2)
		 */
		static std::pair<std::string, std::string> crackSignatureBirthday(const std::string &text1, const std::string &text2, int hashlen);

};

